/**
 * @description 运动 services
 */
const Exercise = require('../db/model/Exercise')

/**
 * 创建 1 条运动记录
 * @param {object} data 运动记录数据
 * @param {number} data.userId 该记录对应的用户 ID
 * @param {number} data.type 运动类型，0 跑步，1 骑行，2 课程训练，必需
 * @param {number} data.duration 运动持续时间，单位秒，必需
 * @param {number} data.meter 运动距离（如跑步和骑行的距离），单位米
 * @param {number} data.calorie 本次运动消耗的卡路里数，单位卡
 */
async function createExercise(data) {
  const exerciseInst = await Exercise.create(data);
  return exerciseInst.dataValues;
}

// 获取用户的运动数据
async function getExerciseData(userId) {
  const exerciseData = Exercise.findAll({
    attributes: ['id', 'type', 'duration', 'meter', 'calorie', 'createdAt'],
    where: { userId },
    raw: true,
  })
  return exerciseData;
}

module.exports = {
  createExercise,
  getExerciseData,
}
